﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using FacadeInterface;
using FacadeImplemention;
using EntityLayer;

namespace pryCallCenter.Procesos.ReporteEncuesta
{
    public partial class frmReporteEncuesta : System.Web.UI.Page
    {
        private clsIFacadeReporteEncuesta InterfaceReporteEncuesta;
        private static List<ReporteEncuesta_Result> ReporteEncuesta = null;

        private String msg, titulo;

        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {
                if (!IsPostBack)
                {
                    txtUsuario.Text = "William Requejo";
                    Fechas();
                }
            }
            catch (Exception ex)
            {
                titulo = "ERROR AL CARGAR LA PAGINA";
                msg = ex.Message;
                MostrarComentario(msg, titulo);
            }
        }

        protected void GenerarReporte(object sender, EventArgs e)
        {
            try
            {
                String TipoEncuesta = cboTipoEncuesta.SelectedItem.Value.ToString();
                String fechaInicial = dtpDesde.Text;
                String fechaCompleta = dtpHasta.Text;
                DateTime fhinicial = Convert.ToDateTime(fechaInicial);
                DateTime fhfinal = Convert.ToDateTime(fechaCompleta);
                fechaInicial = fhinicial.ToString("yyyyMMdd");
                fechaCompleta = fhfinal.ToString("yyyyMMdd");
                DetalleEncuesta(TipoEncuesta, fechaInicial, fechaCompleta);
            }
            catch (Exception ex)
            {
                titulo = "ERROR AL GENERAR EL REPORTE";
                msg = ex.Message;
                MostrarComentario(msg, titulo);
            }
        }

        private void Fechas()
        {
            try
            {
                DateTime fechaActual = DateTime.Now;
                string fechaCompleta = fechaActual.ToString("dd/MM/yyyy");
                string fechaInicial = "01/01/" + fechaActual.ToString("yyyy");
                dtpDesde.Text = fechaInicial;
                dtpHasta.Text = fechaCompleta;
                dtpFecha.Text = fechaCompleta;
            }
            catch (Exception ex)
            {
                titulo = "ERROR AL CARGAR LAS FECHAS";
                msg = ex.Message;
                MostrarComentario(msg, titulo);
            }
        }

        private void DetalleEncuesta(String TipoEncuesta, String fechaDesde, String fechaHasta)
        {
            try
            {
                InterfaceReporteEncuesta = new clsFacadeReporteEncuesta();
                ReporteEncuesta = InterfaceReporteEncuesta.ReporteEncuesta(TipoEncuesta, fechaDesde, fechaHasta);
                dgvReporteVentas.DataSource = ReporteEncuesta;
                dgvReporteVentas.DataBind();
            }
            catch (Exception ex)
            {
                titulo = "ERROR AL GENERAR EL REPORTE DE LA ENCUESTA";
                msg = ex.Message;
                MostrarComentario(msg, titulo);
            }
        }

        private void MostrarComentario(String msg, String titulo)
        {
            pcMensaje.HeaderText = titulo;
            lblMensaje.Text = msg;
            ScriptManager.RegisterStartupScript(this, GetType(), "script", "pcMensaje.Show();", true);
        }
    }
}